<?php

require_once 'Model/Estatistica.php';
require_once 'Banco.php';

class DAOEstatisticaEvento extends Banco{
    
    function getEstatisticaByEvento(Evento $evento) {
        $codEvento = $evento->getCodigo();
        
        $estatisticas = array();
        Banco::conecta();
        $banco = Banco::getBanco();
        if ($sql = $banco->prepare("SELECT ESE_CODUSUARIO, ESE_DATA, ESE_HORA FROM TB_ESTATISTICAEVENTO WHERE ESE_CODEVENTO=?;")) {
            $sql->bind_param('i',$codEvento);
            $sql->execute();
            $sql->bind_result($usuario, $data, $hora);
            while ($sql->fetch()) {
                $e = new Estatistica($evento, $usuario, $data, $hora);
                $estatisticas[] = (object)$e;
            }
            $sql->close();
        }
        $banco->close();
        return $estatisticas;
        
    }
    
    function getEstatisticaByData(Evento $evento) {
        $codEvento = $evento->getCodigo();
        
        $estatisticas = array();
        Banco::conecta();
        $banco = Banco::getBanco();
        if ($sql = $banco->prepare("SELECT ESE_DATA, COUNT(*) FROM TB_ESTATISTICAEVENTO WHERE ESE_CODEVENTO=? GROUP BY ESE_DATA;")) {
            $sql->bind_param('i',$codEvento);
            $sql->execute();
            $sql->bind_result($data, $quant);
            $usuario = NULL;
            while ($sql->fetch()) {
                $e = new Estatistica($evento, $usuario, $data, $quant);
                $estatisticas[] = (object)$e;
            }
            $sql->close();
        }
        $banco->close();
        return $estatisticas;
        
    }
    
    function addEstatisticaEvento(Estatistica $estatistica) {
        $evento=NULL;
        $usuario=NULL;
        if(is_a($estatistica->getObjeto(),'Evento')){
            $evento = $estatistica->getObjeto()->getCodigo();
        }
        if(is_a($estatistica->getUsuario(),'Usuario')){
            $usuario = $estatistica->getUsuario()->getCodigo();
        }
        $ip = $estatistica->getIp();
        Banco::conecta();
        $banco = Banco::getBanco();
        if ($sql = $banco->prepare("INSERT INTO TB_ESTATISTICAEVENTO VALUES(?, ?, NOW(), NOW(), ?);")) {
            $sql->bind_param('iis',$evento, $usuario, $ip);
            $sql->execute();
            $sql->close();
        }
        $banco->close();
    }
}

?>
